Add disclaimers regarding Event lifetime#5531
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: dabico The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Pull request overview
Adds a brief “events are ephemeral” disclaimer under Kubernetes Events tables to help users understand Event retention behavior across the UI.
Changes:
- Add an info-note below the object details Events table (
ObjectEventList) and the Cluster Overview Events section. - Introduce a new i18n string for the disclaimer and update locale files.
- Update Storybook storyshot snapshots across affected details views.
Reviewed changes
Copilot reviewed 68 out of 68 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| frontend/src/components/common/ObjectEventList.tsx | Renders an info disclaimer under the per-object Events table. |
| frontend/src/components/cluster/Overview.tsx | Renders an info disclaimer under the Cluster Overview Events table. |
| frontend/src/i18n/locales/en/translation.json | Adds the new disclaimer string in English. |
| frontend/src/i18n/locales/de/translation.json | Adds German translation entry for the new disclaimer string. |
| frontend/src/i18n/locales/it/translation.json | Adds Italian translation entry for the new disclaimer string. |
| frontend/src/i18n/locales/es/translation.json | Adds placeholder entry for the new disclaimer string. |
| frontend/src/i18n/locales/fr/translation.json | Adds placeholder entry for the new disclaimer string. |
| frontend/src/i18n/locales/hi/translation.json | Adds placeholder entry for the new disclaimer string. |
| frontend/src/i18n/locales/ja/translation.json | Adds placeholder entry for the new disclaimer string. |
| frontend/src/i18n/locales/ko/translation.json | Adds placeholder entry for the new disclaimer string. |
| frontend/src/i18n/locales/pt/translation.json | Adds placeholder entry for the new disclaimer string. |
| frontend/src/i18n/locales/ta/translation.json | Adds placeholder entry for the new disclaimer string. |
| frontend/src/i18n/locales/zh/translation.json | Adds placeholder entry for the new disclaimer string. |
| frontend/src/i18n/locales/zh-tw/translation.json | Adds placeholder entry for the new disclaimer string. |
| frontend/src/components/common/snapshots/ObjectEventList.WithEvents.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/common/snapshots/ObjectEventList.NoEventsForObject.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/common/snapshots/ObjectEventList.ErrorFetching.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/cluster/snapshots/Overview.Events.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/cluster/snapshots/Overview.ErrorState.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/cluster/snapshots/Overview.EmptyState.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/webhookconfiguration/snapshots/ValidatingWebhookConfigDetails.WithURL.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/webhookconfiguration/snapshots/ValidatingWebhookConfigDetails.WithService.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/webhookconfiguration/snapshots/MutatingWebhookConfigDetails.WithURL.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/webhookconfiguration/snapshots/MutatingWebhookConfigDetails.WithService.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/verticalPodAutoscaler/snapshots/VPADetails.Default.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/storage/snapshots/VolumeDetails.Base.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/storage/snapshots/ClassDetails.Base.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/storage/snapshots/ClaimDetails.Base.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/statefulset/snapshots/Details.WithOnDeleteStrategy.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/statefulset/snapshots/Details.WithMultipleContainers.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/statefulset/snapshots/Details.WithComplexSelector.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/statefulset/snapshots/Details.Default.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/service/snapshots/ServiceDetails.WithA8ROwnerOnly.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/service/snapshots/ServiceDetails.WithA8RAnnotations.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/service/snapshots/ServiceDetails.ErrorWithEndpoints.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/service/snapshots/ServiceDetails.Default.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/secret/snapshots/Details.WithBase.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/secret/snapshots/Details.Empty.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/runtimeClass/snapshots/Details.Base.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/resourceQuota/snapshots/resourceQuotaDetails.Default.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/priorityClass/snapshots/priorityClassDetails.Default.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/podDisruptionBudget/snapshots/pdbDetails.Default.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/networkpolicy/snapshots/Details.Default.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/namespace/snapshots/NamespaceDetails.Active.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/limitRange/snapshots/Details.LimitRangeDetail.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/lease/snapshots/Details.LeaseDetail.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/ingress/snapshots/Details.WithWildcardTLS.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/ingress/snapshots/Details.WithTLS.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/ingress/snapshots/Details.WithResource.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/ingress/snapshots/ClassDetails.WithDefault.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/ingress/snapshots/ClassDetails.Basic.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/horizontalPodAutoscaler/snapshots/HPADetails.Default.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/gateway/snapshots/ReferenceGrantDetails.Basic.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/gateway/snapshots/HTTPRouteDetails.Empty.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/gateway/snapshots/HTTPRouteDetails.Basic.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/gateway/snapshots/GRPCRouteDetails.Basic.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/gateway/snapshots/GatewayDetails.Basic.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/gateway/snapshots/ClassDetails.Basic.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/gateway/snapshots/BackendTrafficPolicyDetails.Basic.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/gateway/snapshots/BackendTLSPolicyDetails.Basic.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/endpointSlices/snapshots/EndpointSliceDetails.Default.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/endpoints/snapshots/EndpointDetails.Default.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/cronjob/snapshots/CronJobDetails.EveryMinute.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/cronjob/snapshots/CronJobDetails.EveryAst.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/crd/snapshots/CustomResourceDetails.NoError.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/crd/snapshots/CustomResourceDefinition.Details.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/configmap/snapshots/Details.WithBase.stories.storyshot | Updates snapshot to include the disclaimer. |
| frontend/src/components/configmap/snapshots/Details.Empty.stories.storyshot | Updates snapshot to include the disclaimer. |
|
@copilot's comments are technically correct, but one should keep the following in mind: most managed Kubernetes services (AKS, EKS, GKE, etc.) don't offer options for configuring the |
|
@dabico I think having a ℹ️ icon next to events Header and showing the text as tooltip on hover will be a better UX. I think its better to mention that the 1hr timelimit can vary based on Users Cluster config. |
illume
left a comment
There was a problem hiding this comment.
Thanks for this PR.
The open review comments from Copilot still need attention — can you have a look? Once addressed, please mark them as resolved.
illume
left a comment
There was a problem hiding this comment.
Thanks for the contribution.
This PR has git conflicts — could you resolve them?
How to resolve conflicts
Rebase or merge the latest main into your branch, resolve the conflicts, and push the updated branch.
62b4d0d to
1c30998
Compare
@yolossn I've implemented the suggestions. You can see what it looks like in the updated issue description. @illume I've rebased off of |
illume
left a comment
There was a problem hiding this comment.
Thanks for the contribution.
There are some open Copilot review comments — could you take a look at them? Please mark each one as resolved once you've addressed it.
0a7ba22 to
542cbe0
Compare
@illume rebased the branch and addressed all review comments. |
Summary
Add a small disclaimer tooltip next to the title of "Events" tables regarding
Eventresource lifetime in Kubernetes. Helpful to teach newbie users aboutEventretention, and a good reminder even for more veteran users.Changes
Steps to Test
Launch locally with Minikube:
Open Headlamp UI in the browser.
Navigate to the Clusters page and hover over the information icon to view.
Under Workloads, select any resource to view its details, hover over the information icon to view.
Screenshots
Notes for the Reviewer